package edu.byu.cs.roots.opg.gui;
import javax.swing.JColorChooser;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.colorchooser.AbstractColorChooserPanel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import edu.byu.cs.roots.opg.gui.tools.Swatch;
public class CustomColorChooser extends JColorChooser{
private static final long serialVersionUID = 1L;
public CustomColorChooser(){
AbstractColorChooserPanel[] panels = {this.getChooserPanels()[1]};
this.setPreviewPanel(new JPanel());
this.setChooserPanels(panels);
}
public class ColorListener implements ChangeListener{
OnePageMainGui gui;
Swatch sel;
CustomColorChooser chooser;
public ColorListener(OnePageMainGui gui, Swatch sel, CustomColorChooser chooser){
super();
this.gui = gui;
this.sel = sel;
this.chooser = chooser;
}
@Override
public void stateChanged(ChangeEvent arg0) {
sel.setColor(chooser.getColor());
JTable cTable = null;
if(gui.getColorTabbedPane().getSelectedIndex() == 1) cTable = gui.getDescColorTable();
if(gui.getColorTabbedPane().getSelectedIndex() == 0) cTable = gui.getAncesColorTable();
int r = cTable.getSelectedRow();
int [] rows = (r < 0? new int [] {0}:cTable.getSelectedRows());
for(int row:rows){
cTable.setValueAt(gui.customSwatchArray.getSelected().getColor(), row, 1);
}
sel.repaint();
}
}
}